/**
 * <copyright>
 * </copyright>
 *
 * $Id$
 */
package RootDesc;

import org.eclipse.emf.ecore.EAttribute;
import org.eclipse.emf.ecore.EClass;
import org.eclipse.emf.ecore.EPackage;
import org.eclipse.emf.ecore.EReference;

/**
 * <!-- begin-user-doc -->
 * The <b>Package</b> for the model.
 * It contains accessors for the meta objects to represent
 * <ul>
 *   <li>each class,</li>
 *   <li>each feature of each class,</li>
 *   <li>each enum,</li>
 *   <li>and each data type</li>
 * </ul>
 * <!-- end-user-doc -->
 * @see RootDesc.RootDescFactory
 * @model kind="package"
 * @generated
 */
public interface RootDescPackage extends EPackage {
  /**
   * The package name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNAME = "RootDesc";

  /**
   * The package namespace URI.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_URI = "TestDescription";

  /**
   * The package namespace name.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  String eNS_PREFIX = "TestDescription";

  /**
   * The singleton instance of the package.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   */
  RootDescPackage eINSTANCE = RootDesc.impl.RootDescPackageImpl.init();

  /**
   * The meta object id for the '{@link RootDesc.impl.RootDescriptionImpl <em>Root Description</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see RootDesc.impl.RootDescriptionImpl
   * @see RootDesc.impl.RootDescPackageImpl#getRootDescription()
   * @generated
   */
  int ROOT_DESCRIPTION = 0;

  /**
   * The feature id for the '<em><b>Class Context</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ROOT_DESCRIPTION__CLASS_CONTEXT = 0;

  /**
   * The feature id for the '<em><b>Test Descriptions</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ROOT_DESCRIPTION__TEST_DESCRIPTIONS = 1;

  /**
   * The number of structural features of the '<em>Root Description</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int ROOT_DESCRIPTION_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link RootDesc.impl.OperationParamImpl <em>Operation Param</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see RootDesc.impl.OperationParamImpl
   * @see RootDesc.impl.RootDescPackageImpl#getOperationParam()
   * @generated
   */
  int OPERATION_PARAM = 1;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OPERATION_PARAM__NAME = 0;

  /**
   * The feature id for the '<em><b>Type Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OPERATION_PARAM__TYPE_NAME = 1;

  /**
   * The number of structural features of the '<em>Operation Param</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int OPERATION_PARAM_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link RootDesc.impl.MethodOperationImpl <em>Method Operation</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see RootDesc.impl.MethodOperationImpl
   * @see RootDesc.impl.RootDescPackageImpl#getMethodOperation()
   * @generated
   */
  int METHOD_OPERATION = 2;

  /**
   * The feature id for the '<em><b>Param</b></em>' reference list.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int METHOD_OPERATION__PARAM = 0;

  /**
   * The feature id for the '<em><b>Name</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int METHOD_OPERATION__NAME = 1;

  /**
   * The number of structural features of the '<em>Method Operation</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int METHOD_OPERATION_FEATURE_COUNT = 2;

  /**
   * The meta object id for the '{@link RootDesc.impl.TestDescriptionImpl <em>Test Description</em>}' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @see RootDesc.impl.TestDescriptionImpl
   * @see RootDesc.impl.RootDescPackageImpl#getTestDescription()
   * @generated
   */
  int TEST_DESCRIPTION = 3;

  /**
   * The feature id for the '<em><b>Operation</b></em>' reference.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TEST_DESCRIPTION__OPERATION = 0;

  /**
   * The feature id for the '<em><b>State Condition</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TEST_DESCRIPTION__STATE_CONDITION = 1;

  /**
   * The feature id for the '<em><b>Guard Condition</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TEST_DESCRIPTION__GUARD_CONDITION = 2;

  /**
   * The feature id for the '<em><b>Target Condition</b></em>' attribute.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TEST_DESCRIPTION__TARGET_CONDITION = 3;

  /**
   * The number of structural features of the '<em>Test Description</em>' class.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @generated
   * @ordered
   */
  int TEST_DESCRIPTION_FEATURE_COUNT = 4;


  /**
   * Returns the meta object for class '{@link RootDesc.RootDescription <em>Root Description</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Root Description</em>'.
   * @see RootDesc.RootDescription
   * @generated
   */
  EClass getRootDescription();

  /**
   * Returns the meta object for the attribute '{@link RootDesc.RootDescription#getClassContext <em>Class Context</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Class Context</em>'.
   * @see RootDesc.RootDescription#getClassContext()
   * @see #getRootDescription()
   * @generated
   */
  EAttribute getRootDescription_ClassContext();

  /**
   * Returns the meta object for the reference list '{@link RootDesc.RootDescription#getTestDescriptions <em>Test Descriptions</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference list '<em>Test Descriptions</em>'.
   * @see RootDesc.RootDescription#getTestDescriptions()
   * @see #getRootDescription()
   * @generated
   */
  EReference getRootDescription_TestDescriptions();

  /**
   * Returns the meta object for class '{@link RootDesc.OperationParam <em>Operation Param</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Operation Param</em>'.
   * @see RootDesc.OperationParam
   * @generated
   */
  EClass getOperationParam();

  /**
   * Returns the meta object for the attribute '{@link RootDesc.OperationParam#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see RootDesc.OperationParam#getName()
   * @see #getOperationParam()
   * @generated
   */
  EAttribute getOperationParam_Name();

  /**
   * Returns the meta object for the attribute '{@link RootDesc.OperationParam#getTypeName <em>Type Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Type Name</em>'.
   * @see RootDesc.OperationParam#getTypeName()
   * @see #getOperationParam()
   * @generated
   */
  EAttribute getOperationParam_TypeName();

  /**
   * Returns the meta object for class '{@link RootDesc.MethodOperation <em>Method Operation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Method Operation</em>'.
   * @see RootDesc.MethodOperation
   * @generated
   */
  EClass getMethodOperation();

  /**
   * Returns the meta object for the reference list '{@link RootDesc.MethodOperation#getParam <em>Param</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference list '<em>Param</em>'.
   * @see RootDesc.MethodOperation#getParam()
   * @see #getMethodOperation()
   * @generated
   */
  EReference getMethodOperation_Param();

  /**
   * Returns the meta object for the attribute '{@link RootDesc.MethodOperation#getName <em>Name</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Name</em>'.
   * @see RootDesc.MethodOperation#getName()
   * @see #getMethodOperation()
   * @generated
   */
  EAttribute getMethodOperation_Name();

  /**
   * Returns the meta object for class '{@link RootDesc.TestDescription <em>Test Description</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for class '<em>Test Description</em>'.
   * @see RootDesc.TestDescription
   * @generated
   */
  EClass getTestDescription();

  /**
   * Returns the meta object for the reference '{@link RootDesc.TestDescription#getOperation <em>Operation</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the reference '<em>Operation</em>'.
   * @see RootDesc.TestDescription#getOperation()
   * @see #getTestDescription()
   * @generated
   */
  EReference getTestDescription_Operation();

  /**
   * Returns the meta object for the attribute '{@link RootDesc.TestDescription#getStateCondition <em>State Condition</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>State Condition</em>'.
   * @see RootDesc.TestDescription#getStateCondition()
   * @see #getTestDescription()
   * @generated
   */
  EAttribute getTestDescription_StateCondition();

  /**
   * Returns the meta object for the attribute '{@link RootDesc.TestDescription#getGuardCondition <em>Guard Condition</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Guard Condition</em>'.
   * @see RootDesc.TestDescription#getGuardCondition()
   * @see #getTestDescription()
   * @generated
   */
  EAttribute getTestDescription_GuardCondition();

  /**
   * Returns the meta object for the attribute '{@link RootDesc.TestDescription#getTargetCondition <em>Target Condition</em>}'.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the meta object for the attribute '<em>Target Condition</em>'.
   * @see RootDesc.TestDescription#getTargetCondition()
   * @see #getTestDescription()
   * @generated
   */
  EAttribute getTestDescription_TargetCondition();

  /**
   * Returns the factory that creates the instances of the model.
   * <!-- begin-user-doc -->
   * <!-- end-user-doc -->
   * @return the factory that creates the instances of the model.
   * @generated
   */
  RootDescFactory getRootDescFactory();

  /**
   * <!-- begin-user-doc -->
   * Defines literals for the meta objects that represent
   * <ul>
   *   <li>each class,</li>
   *   <li>each feature of each class,</li>
   *   <li>each enum,</li>
   *   <li>and each data type</li>
   * </ul>
   * <!-- end-user-doc -->
   * @generated
   */
  interface Literals {
    /**
     * The meta object literal for the '{@link RootDesc.impl.RootDescriptionImpl <em>Root Description</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see RootDesc.impl.RootDescriptionImpl
     * @see RootDesc.impl.RootDescPackageImpl#getRootDescription()
     * @generated
     */
    EClass ROOT_DESCRIPTION = eINSTANCE.getRootDescription();

    /**
     * The meta object literal for the '<em><b>Class Context</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute ROOT_DESCRIPTION__CLASS_CONTEXT = eINSTANCE.getRootDescription_ClassContext();

    /**
     * The meta object literal for the '<em><b>Test Descriptions</b></em>' reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference ROOT_DESCRIPTION__TEST_DESCRIPTIONS = eINSTANCE.getRootDescription_TestDescriptions();

    /**
     * The meta object literal for the '{@link RootDesc.impl.OperationParamImpl <em>Operation Param</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see RootDesc.impl.OperationParamImpl
     * @see RootDesc.impl.RootDescPackageImpl#getOperationParam()
     * @generated
     */
    EClass OPERATION_PARAM = eINSTANCE.getOperationParam();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute OPERATION_PARAM__NAME = eINSTANCE.getOperationParam_Name();

    /**
     * The meta object literal for the '<em><b>Type Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute OPERATION_PARAM__TYPE_NAME = eINSTANCE.getOperationParam_TypeName();

    /**
     * The meta object literal for the '{@link RootDesc.impl.MethodOperationImpl <em>Method Operation</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see RootDesc.impl.MethodOperationImpl
     * @see RootDesc.impl.RootDescPackageImpl#getMethodOperation()
     * @generated
     */
    EClass METHOD_OPERATION = eINSTANCE.getMethodOperation();

    /**
     * The meta object literal for the '<em><b>Param</b></em>' reference list feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference METHOD_OPERATION__PARAM = eINSTANCE.getMethodOperation_Param();

    /**
     * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute METHOD_OPERATION__NAME = eINSTANCE.getMethodOperation_Name();

    /**
     * The meta object literal for the '{@link RootDesc.impl.TestDescriptionImpl <em>Test Description</em>}' class.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @see RootDesc.impl.TestDescriptionImpl
     * @see RootDesc.impl.RootDescPackageImpl#getTestDescription()
     * @generated
     */
    EClass TEST_DESCRIPTION = eINSTANCE.getTestDescription();

    /**
     * The meta object literal for the '<em><b>Operation</b></em>' reference feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EReference TEST_DESCRIPTION__OPERATION = eINSTANCE.getTestDescription_Operation();

    /**
     * The meta object literal for the '<em><b>State Condition</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TEST_DESCRIPTION__STATE_CONDITION = eINSTANCE.getTestDescription_StateCondition();

    /**
     * The meta object literal for the '<em><b>Guard Condition</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TEST_DESCRIPTION__GUARD_CONDITION = eINSTANCE.getTestDescription_GuardCondition();

    /**
     * The meta object literal for the '<em><b>Target Condition</b></em>' attribute feature.
     * <!-- begin-user-doc -->
     * <!-- end-user-doc -->
     * @generated
     */
    EAttribute TEST_DESCRIPTION__TARGET_CONDITION = eINSTANCE.getTestDescription_TargetCondition();

  }

} //RootDescPackage
